home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Resources / Chat & Communication / Digsby build 37 / digsby_setup.exe / lib / gui / browser / iewindow.pyo (.txt) < prev    next >
Python Compiled Bytecode  |  2008-10-13  |  4KB  |  94 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyo (Python 2.5)
  3.  
  4. from __future__ import with_statement
  5. import wx
  6. from random import randint
  7. import wx.lib.iewin as iewin
  8. from logging import getLogger
  9. log = getLogger('iewindow')
  10. from path import path
  11. from collections import defaultdict
  12. from util import traceguard, try_this, Delegate
  13. from time import time
  14. import stdpaths
  15.  
  16. class IEWindow(iewin.IEHtmlWindow):
  17.     
  18.     def __init__(self, parent, initialContents = '', url = None):
  19.         iewin.IEHtmlWindow.__init__(self, parent, style = wx.NO_BORDER)
  20.         self.OnNav = Delegate()
  21.         self.OnDoc = Delegate()
  22.         self._set_Silent(False)
  23.         s = None if url is not None else ''
  24.         if s:
  25.             self.SetPage(s)
  26.         
  27.  
  28.     
  29.     def LoadUrl(self, url):
  30.         if isinstance(url, unicode):
  31.             import warnings as warnings
  32.             warnings.warn('LoadUrl called with a unicode: %r' % url)
  33.             url = str(url)
  34.         
  35.         if not isinstance(url, str):
  36.             raise TypeError('must pass a string to LoadUrl')
  37.         
  38.         return iewin.IEHtmlWindow.LoadUrl(self, url)
  39.  
  40.     
  41.     def OnURL(self, url, callback):
  42.         if not callable(callback):
  43.             raise TypeError('callback must be callable')
  44.         
  45.         self.urltriggers[url] += [
  46.             callback]
  47.  
  48.     
  49.     def FileURL(self):
  50.         
  51.         try:
  52.             return 'file:///' + self.file.name.replace('\\', '/')
  53.         except AttributeError:
  54.             return self.seturl
  55.  
  56.  
  57.     FileURL = property(FileURL)
  58.     
  59.     def SetPage(self, content):
  60.         tempname = 'digsby-%s-%s.html' % (time(), randint(1, 9999))
  61.         p = stdpaths.temp / tempname
  62.         p.write_bytes(content)
  63.         return self.LoadUrl(p.url())
  64.  
  65.     
  66.     def NavigateComplete2(self, this, pDisp, URL):
  67.         self.OnNav(URL[0])
  68.  
  69.     
  70.     def DocumentComplete(self, this, pDisp, URL):
  71.         self.OnDoc(URL[0])
  72.  
  73.  
  74. if __name__ == '__main__':
  75.     a = wx.PySimpleApp()
  76.     
  77.     _ = lambda s: s
  78.     fbSize = (646, 436)
  79.     url = 'http://www.google.com/'
  80.     from util import trace
  81.     trace(IEWindow)
  82.     f = wx.Frame(None, size = fbSize, title = _('ie test'))
  83.     ie = IEWindow(f, url = url)
  84.     
  85.     def ondoc(e):
  86.         print type(e)
  87.         print e
  88.         print e.URL
  89.  
  90.     ie.Bind(iewin.EVT_DocumentComplete, ondoc)
  91.     f.Show()
  92.     a.MainLoop()
  93.  
  94.